home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
VGADOC4B.ZIP
/
VGADECL.INC
< prev
next >
Wrap
Text File
|
1995-09-05
|
11KB
|
336 lines
{This file holds the public declarations for WHATVGA & utilities}
const
{Memory Mode definitions}
_text = 1;
_txt2 = 2;
_txt4 = 3;
_herc = 4; {Hercules mono, 4 "banks" of 8kbytes}
_cga1 = 5; {CGA 2 color, 2 "banks" of 16kbytes}
_cga2 = 6; {CGA 4 color, 2 "banks" of 16kbytes}
_pl1 = 7; {plain mono, 8 pixels per byte}
_pl1e = 8; {mono odd/even, 8 pixels per byte, two planes}
_pl2 = 9; {4 color odd/even planes}
_pk2 = 10; {4 color "packed" pixels 4 pixels per byte}
_pl4 = 11; {std EGA/VGA 16 color: 4 planes, 8 pixels per byte}
_pk4 = 12; {ATI mode 65h two 16 color pixels per byte}
_pk4a = 13; {As pk4, but reversed within byte}
_pk4b = 14; {As pk4a, but planes 1&2 are reversed}
_p8 = 15; {one 256 color pixel per byte}
_p15 = 16; {Sierra 15 bit}
_p16 = 17; {Sierra 16bit/XGA}
_p24 = 18; {RGB 3bytes per pixel}
_p24b = 19; {BGR 3bytes/pixel, but red first}
_p32 = 20; {RGBa 3+1 bytes per pixel }
_p32b = 21; {BGRa 3+1 bytes per pixel }
_p32c = 22; {aRGR 3+1 bytes per pixel }
_p32d = 23; {aBGR 3+1 bytes per pixel }
max_mode = _p32d;
{Primary chipset definitions}
__none = 0;
__EGA = 1;
__VGA = 2;
__chips = 3;
__WD = 4; {Paradise/Western digital}
__video7 = 5;
__Tseng = 6;
__trid = 7;
__poach = 8;
__everex = 9;
__ati = 10;
__genoa = 11;
__oak = 12;
__cirrus = 13;
__ahead = 14;
__ncr = 15;
__yamaha = 16;
__s3 = 17;
__ALG = 18; {Avance Logic}
__mxic = 19;
__vesa = 20;
__realtek = 21;
__p2000 = 22;
__cir54 = 23;
__cir64 = 24;
__Weitek = 25;
__WeitekP9 = 26; {Weitek Power9000}
__xga = 27;
__compaq = 28;
__AGX = 29;
__Mach32 = 30;
__Mach64 = 31;
__UMC = 32;
__HMC = 33;
__Matrox = 34; {Matrox VGA}
__ARK = 35;
__Acer = 36;
__SC = 37;
__xbe = 38;
__MV = 39; {MediaVision Pro Graphics}
__MGA = 40; {Matrox (Native)}
__Alli = 41; {Alliance Pro Motion}
__IMAG = 42; {#9 Imagine 128}
__SiS = 43; {SiS Sg86c201}
max_chip = __SiS;
{DAC types}
_dac0 = 0; {No DAC (MDA/CGA/EGA ..}
_dac8 = 1; {Std VGA DAC 256 cols.}
_dacInt = 2; {Internal Hi/True color DAC}
_dacCEG = 3; {Edsun CEG DAC}
_dac15 = 4; {Sierra 32k DAC (SC11483)}
_dac16 = 5; {Sierra 64k DAC}
_dacADAC1 = 10; {Acumos ADAC1 15/16/24 bit DAC}
_dacALG1101 = 20; {Avance Logic ALG1101 16bit DAC}
_dacALG1201 = 21; {Avance Logic ALG1201 24 bit DAC}
_dacALG1301 = 22; {Avance Logic ALG1301 24 bit DAC}
_dacATI68860 = 30; {ATI 68860 SpectraDAC}
_dacATI68880 = 31;
_dacATT490 = 40; {ATT 20c490 15/16/24 bit DAC}
_dacATT491 = 41; {ATT 20c491 15/16/24 bit DAC}
_dacATT492 = 42; {ATT 20c492 15/16/24 bit DAC}
_dacATT493 = 43; {ATT 20c493 15/16/24 bit DAC}
_dacATT504 = 50; {ATT 20c504}
_dacATT505 = 51; {ATT 20c505}
_dacATT498 = 60; {ATT 20c498 15/16/24 bit DAC}
_dacATT1498 = 61; {ATT 21c498 15/16/24 bit DAC}
_dacATT2498 = 62; {ATT 22c498 15/16/24 bit DAC}
_dacBt477 = 70; {Bt477}
_dacBt481 = 71; {Bt481}
_dacBt482 = 72; {Bt482}
_dacBt484 = 73; {BrookTree Bt484/5 or ATT20c504/5 DAC}
_dacBt485 = 74; {BrookTree Bt484/5 or ATT20c504/5 DAC}
_dacCH8391 = 80; {CHRONTEL CH8391}
_dacCH8398 = 81; {CHRONTEL CH8398}
_dacCL5200 = 90; {Cirrus Logic CL-GD5200}
_dacIBM514 = 100;
_dacIBM524 = 101;
_dacIBM525 = 102; {IBM RGB525}
_dacIBM526 = 103;
_dacIBM528 = 104;
_dacIBM530 = 105;
_dacIBM561 = 106;
_dacIBM624 = 107;
_dacICW498 = 120;
_dacICW516 = 121;
_dacMU1880 = 130; {MUSIC 9c1880/Diamond SS24 DAC}
_dacMU4870 = 131;
_dacMU4910 = 132;
_dacMU9910 = 133;
_dacS3_716 = 140;
_dacS3_708 = 141;
_dacSC486 = 150; {Sierra SC11486 - 15bit DAC}
_dacSC15021 = 151; {Sierra SC15021}
_dacSC15025 = 152; {Sierra SC15025}
_dacSTG1700 = 160; {STG1700}
_dacSTG1702 = 161; {STG1702}
_dacSTG1703 = 162; {STG1703}
_dacTLC34075 = 170;
_dacTLC34076 = 171;
_dacTR8001 = 180; {Trident TKD8001}
_dacTVP3010 = 190;
_dacTVP3020 = 191;
_dacTVP3025 = 192;
_dacTVP3026 = 193;
_dacUMC188 = 200; {UMC UM70c188}
_dacICS5301 = 210; {ICS 5301}
{Clock definitions}
clk_unk = 0;
clk_internal = 1; {Cirrus, Acumos}
clk_ext2 = 2; {4 clks via 2 bits (Std VGA)}
clk_ext3 = 3; {8 clks via 3 bits}
clk_ext4 = 4; {16 clks via 4 bits}
clk_ext5 = 5; {32 clks via 5 bits}
clk_ext6 = 6; {64 clks via 3 bits}
clk_sigma = 7; {Sigma Legend "buffered" 5 bit}
clk_ICD2061 = 8;
clk_ICD2061A = 9;
clk_sdac = 10; {S3 SDAC or GenDAC}
clk_TVP302x = 11; {TI TVP 3020/3025}
clk_ICS2595 = 12; {ICS 2595}
clk_SC11412 = 13; {Sierra SC11412}
clk_CHRON = 14; {Chrontel CH8391/8}
clk_STG = 15; {STG1703}
clk_MUSIC = 16; {MUSIC MU9c9910}
clk_IBM52x = 17; {IBM RGB52x}
{Flags for special features}
ft_cursor = 1; {Has hardware cursor}
ft_blit = 2; {Can do BitBLTs}
ft_line = 4; {Can do lines}
ft_rwbank = 8; {Suports seperate R/W banks}
{Device Capabilities}
FLG_StdVGA = 1; {Set for VGA type devices}
FLG_ExtDAC = 2; {Set if we have RS2 or RS3 to the DAC}
FLG_PCIbus = 4; {Set if teh card is in a PCI slot}
{DAC Flag bits, from DACflags}
DFL_cmdreg = 1; {The DAC has a Hidden Command Register}
DFL_8bit = 2; {The DAC can do 8bit (256 of 16M)}
DFL_clock = 4; {The DAC has onchip clock generator}
DFL_cursor = 8; {The DAC has a cursor}
{Flag options for ModeType}
MFL_enabled = 1; {Set if the mode is enabled}
MFL_graphics = 2; {Set for graphics modes}
MFL_vgamode = 4; {Set for standard VGA modes}
MFL_enGr = MFL_enabled or MFL_graphics; {Enabled Graphics modes}
MFL_enVGA = MFL_enabled or MFL_vgamode; {Enabled Standard VGA mode}
MFL_enGrVGA = MFL_enVGA or MFL_graphics; {Enabled Graphics Std VGA mode}
header:array[0..max_chip] of string[14]=
('','EGA','VGA','Chips&Tech','Paradise','Video7','Tseng','Trident'
,'Poach','Everex','ATI','Genoa','Oak','Cirrus','Ahead','NCR'
,'Yamaha','S3','ALG','MXIC','VESA','Realtek','PRIMUS','Cirrus54'
,'Cirrus64','Weitek','WeitekP9','XGA','COMPAQ','AGX','Mach32'
,'Mach64','UMC','HMC','Matrox','ARK','Acer','Sierra','XBE'
,'MediaVision','MGA','Alliance','Imagine','SiS');
{Short name for chip families}
chipnam:array[0..max_chip] of string[8]=
('','EGA','VGA','CT45x','WD','Video7','Tseng','Trident'
,'Poach','Everex','ATI','Genoa','OAK','Cirrus','Ahead','NCR'
,'Yamaha','S3','ALG','MXIC','VESA','Realtek','Primus','CL54xx'
,'CL64xx','Weitek','P9000','XGA','Compaq','AGX','Mach32'
,'Mach64','UMC','HMC','Matrox','ARK','ACER','SIERRA','XBE'
,'MVision','MGA','Alliance','Imagine','SiS');
{AutoTest flags & structures}
{AF test record IDs}
AF_header = 0;
AF_videosys = 1;
AF_modeinfo = 2;
AF_tcursor = 3; {Cursor test record ID}
AF_tbitblt = 4; {BitBLT test record ID}
AF_tline = 5; {LineDrv test record ID}
AF_trwbank = 6; {RWbank test record ID}
AF_tzoom = 7; {Zoom test record ID}
AF_BIOSdmp = 255;
{AF Flag values}
AFF_testok = 1; {Set if the test was succesful}
AFF_dispok = 2; {Set if the mode was displayed ok}
AFF_scroll = 4; {Set if the mode can be scrolled}
AFF_scrollok = 8; {Set if the scroll test was ok}
AFF_canceled = 16; {Set if the mode was canceled}
type
vidinfo=record
chip:byte;
flags:word; {Flags (FLG_}
id:word; {instance}
IOadr:word; {I/O adr}
spcreg:word; {Special register offset (IIT)}
Xseg:word;
Phadr:longint;
version:word; {version}
subvers:word; {Subversion}
dactype:word; {The dac type}
dacname:string[20]; {The Name of the DACtype}
mm:word; {#kilobytes of video memory}
features:word; {Flags for special features}
sname:string[8]; {Short chip family name}
name:string[40]; {Full chip name}
clktype:word; {Clock type (clk_)}
clks:array[0..63] of longint; {Clocks in Hz}
PCIid:byte;
end;
_AT0=record
SWvers:word; {SW version}
vid_sys, {Number of video systems}
cur_vid:word; {Currently selected video system (1..)}
curtime:longint; {Date & time of the test}
end;
{This record followed by: (Email),(Name&Address),(Video desc)
,(System),(modenames),(clock names)}
{AT1 is the VIDINFO record, one per Video Subsystem}
_AT2=record
mode:word;
Mmode:byte; {Memory Model}
pixels,
lins,
bytes,
crtc,
vseg:word;
Cpixels,
Clins,
Cbytes,
Cvseg:word;
CMmode:byte; {Calculated mode}
ChWidth,
ChHeight,
ExtPixf,
ExtLinf:byte;
Vclk,
Hclk,
Fclk:longint; {Freqs in Hz (Fclk is in mHz)}
iLace:boolean;
Flag:byte; {Test results (AFF_)}
end;
{This record followed by: (Comment), (reg values)}
_AT3=record {Used for }
mode:word;
Mmode:byte;
Flag:byte; {Test results (AFF_)}
end;
{This record followed by: (Comment)}
_ATff=record
int10,
int6D,
m4a8, {0:4A8h}
fnt8h,
fnt8l,
fnt14,
fnt14x9,
fnt16,
fnt16x9:word;
Base:word;
size:byte;
end;